package com.av.rmi.interfaces;

import java.rmi.Remote;
import java.rmi.RemoteException;

import com.av.rmi.Parametro;

/**
 * Servicio o punto de entrada en el servidor para ejecucion de distintas
 * acciones
 * 
 * @author Victor J Morales R
 * 
 */
public interface ServerRemote extends Remote {

	public static final String OBJECT_STUB_REGISTRY_NAME = "ServerRemote";
	public static final int PORT = 1099;

	/**
	 * Ejecuta una accion con base en el parametro especificado
	 * 
	 * @param parametro
	 * @return
	 * @throws RemoteException
	 */
	Parametro ejecutar(Parametro parametro) throws RemoteException;

	/**
	 * Ejecuta una accion con base en los parametros comprimidos
	 * 
	 * @param bytes
	 * @return
	 * @throws RemoteException
	 */
	byte[] ejecutar(byte[] bytes) throws RemoteException;
}// ServerRemote